package com.pureut.storage.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.pureut.storage.domain.ProductionMaterialReturn;
import com.pureut.storage.dto.*;
import com.pureut.storage.vo.ProductionMaterialReturnVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/***
 * 生产退料mapper
 * Author:C
 * Date:2022/12/30 9:18
 * @DESC
 */
@Mapper
public interface ProductionMaterialReturnMapper extends BaseMapper<ProductionMaterialReturn> {

    /**
     * 生产退料列表
     */
    Page<ProductionMaterialReturnDto> getProductionList(@Param("productionMaterialReturnVo") ProductionMaterialReturnVo productionMaterialReturnVo, @Param("page") Page<ProductionMaterialReturnDto> page);

    /**
     * 通过id获取生产退料详情
     */
    ProductionMaterialReturnDto getProductionById(long id);

    /**
     * 生产退料列表(手持pda)
     */
    Page<AndroidPdaDto> getProductionAndroidList(@Param("deptId") Long deptId,@Param("page") Page<AndroidPdaDto> page);

    /**
     * 通过id获取生产退料详情(手持pda)
     */
    AndroidPdaViewDto getProductionByIdAndroid(long id);

    /**
     * 生产退料列表(手持pda 撤销列表)
     */
    Page<AndroidPdaDto> getProductionpickCancellationList(@Param("deptId")Long deptId,@Param("page") Page<AndroidPdaDto> page);

    /**
     * 生产退料手持pda 交接列表
     */
    Page<AndroidHandoverPdaDto> getAndroidHandoverList(@Param("deptId")Long deptId,@Param("page") Page<AndroidPdaDto> page);

    /**
     * 生产退料手持pda 交接详情
     */
    AndroidHandoverPdaDto getAndroidHandoverView(long id);

    /**
     * 根据id获取多条数据
     */
    List<ProductionMaterialReturnExportDto> getDataByIdStr(@Param("idList") List<String> idList);

    /**
     * 生产退料列表(导出查询)
     */
    List<ProductionMaterialReturnExportDto> getProductionListOut(ProductionMaterialReturnVo productionMaterialReturnVo);
}
